// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.k2.refactoring.introduce;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("refactorings/kotlin.refactorings.tests.k2")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public abstract class K2IntroduceParameterTestGenerated extends AbstractK2IntroduceParameterTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceParameter")
    public abstract static class IntroduceParameter extends AbstractK2IntroduceParameterTest {
        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("../../idea/tests/testData/refactoring/introduceParameter/multiline")
        public static class Multiline extends AbstractK2IntroduceParameterTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doIntroduceParameterTest, this, testDataFilePath);
            }

            @TestMetadata("multilineBinaryExpression.kt")
            public void testMultilineBinaryExpression() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/multiline/multilineBinaryExpression.kt");
            }

            @TestMetadata("multilineBinaryExpressionWithComments.kt")
            public void testMultilineBinaryExpressionWithComments() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/multiline/multilineBinaryExpressionWithComments.kt");
            }

            @TestMetadata("multilineNestedBinaryExpression1.kt")
            public void testMultilineNestedBinaryExpression1() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/multiline/multilineNestedBinaryExpression1.kt");
            }

            @TestMetadata("multilineNestedBinaryExpression2.kt")
            public void testMultilineNestedBinaryExpression2() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/multiline/multilineNestedBinaryExpression2.kt");
            }
        }

        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("../../idea/tests/testData/refactoring/introduceParameter/script")
        public static class Script extends AbstractK2IntroduceParameterTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doIntroduceParameterTest, this, testDataFilePath);
            }

            @TestMetadata("ExpressionPart.kts")
            public void testExpressionPart() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/script/ExpressionPart.kts");
            }

            @TestMetadata("FunInScript.kts")
            public void testFunInScript() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/script/FunInScript.kts");
            }

            @TestMetadata("TopLevelExpression.kts")
            public void testTopLevelExpression() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/script/TopLevelExpression.kts");
            }
        }

        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates")
        public static class StringTemplates extends AbstractK2IntroduceParameterTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doIntroduceParameterTest, this, testDataFilePath);
            }

            @TestMetadata("brokenEntryWithBlockExpr.kt")
            public void testBrokenEntryWithBlockExpr() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/brokenEntryWithBlockExpr.kt");
            }

            @TestMetadata("brokenEntryWithExpr.kt")
            public void testBrokenEntryWithExpr() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/brokenEntryWithExpr.kt");
            }

            @TestMetadata("brokenEscapeEntry.kt")
            public void testBrokenEscapeEntry() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/brokenEscapeEntry.kt");
            }

            @TestMetadata("extractFalse.kt")
            public void testExtractFalse() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/extractFalse.kt");
            }

            @TestMetadata("extractIntegerLiteral.kt")
            public void testExtractIntegerLiteral() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/extractIntegerLiteral.kt");
            }

            @TestMetadata("extractTrue.kt")
            public void testExtractTrue() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/extractTrue.kt");
            }

            @TestMetadata("fullContent.kt")
            public void testFullContent() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/fullContent.kt");
            }

            @TestMetadata("fullEntryWithBlockExpr.kt")
            public void testFullEntryWithBlockExpr() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/fullEntryWithBlockExpr.kt");
            }

            @TestMetadata("fullEntryWithSimpleName.kt")
            public void testFullEntryWithSimpleName() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/fullEntryWithSimpleName.kt");
            }

            @TestMetadata("multipleEntriesWithPrefix.kt")
            public void testMultipleEntriesWithPrefix() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/multipleEntriesWithPrefix.kt");
            }

            @TestMetadata("multipleEntriesWithSubstring.kt")
            public void testMultipleEntriesWithSubstring() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/multipleEntriesWithSubstring.kt");
            }

            @TestMetadata("multipleEntriesWithSuffix.kt")
            public void testMultipleEntriesWithSuffix() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/multipleEntriesWithSuffix.kt");
            }

            @TestMetadata("rawTemplateWithSubstring.kt")
            public void testRawTemplateWithSubstring() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/rawTemplateWithSubstring.kt");
            }

            @TestMetadata("singleEntryPrefix.kt")
            public void testSingleEntryPrefix() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/singleEntryPrefix.kt");
            }

            @TestMetadata("singleEntrySubstring.kt")
            public void testSingleEntrySubstring() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/singleEntrySubstring.kt");
            }

            @TestMetadata("singleEntrySuffix.kt")
            public void testSingleEntrySuffix() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/singleEntrySuffix.kt");
            }

            @TestMetadata("singleEntrySuffixSingle.kt")
            public void testSingleEntrySuffixSingle() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/stringTemplates/singleEntrySuffixSingle.kt");
            }
        }

        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("../../idea/tests/testData/refactoring/introduceParameter")
        public static class Uncategorized extends AbstractK2IntroduceParameterTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doIntroduceParameterTest, this, testDataFilePath);
            }

            @TestMetadata("annotationArgument.kt")
            public void testAnnotationArgument() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/annotationArgument.kt");
            }

            @TestMetadata("assignment.kt")
            public void testAssignment() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/assignment.kt");
            }

            @TestMetadata("avoidClassDuplicatingParameters.kt")
            public void testAvoidClassDuplicatingParameters() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/avoidClassDuplicatingParameters.kt");
            }

            @TestMetadata("avoidFunDuplicatingParameters.kt")
            public void testAvoidFunDuplicatingParameters() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/avoidFunDuplicatingParameters.kt");
            }

            @TestMetadata("callableReferenceInParenthesis.kt")
            public void testCallableReferenceInParenthesis() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/callableReferenceInParenthesis.kt");
            }

            @TestMetadata("callableReferenceToShorten.kt")
            public void testCallableReferenceToShorten() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/callableReferenceToShorten.kt");
            }

            @TestMetadata("classInAnonymousInitializer.kt")
            public void testClassInAnonymousInitializer() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classInAnonymousInitializer.kt");
            }

            @TestMetadata("classInPropertyInitializer.kt")
            public void testClassInPropertyInitializer() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classInPropertyInitializer.kt");
            }

            @TestMetadata("classMultipleUsages1.kt")
            public void testClassMultipleUsages1() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classMultipleUsages1.kt");
            }

            @TestMetadata("classMultipleUsages2.kt")
            public void testClassMultipleUsages2() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classMultipleUsages2.kt");
            }

            @TestMetadata("classMultipleUsagesOutsideScope.kt")
            public void testClassMultipleUsagesOutsideScope() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classMultipleUsagesOutsideScope.kt");
            }

            @TestMetadata("classMultipleUsagesSingleReplace1.kt")
            public void testClassMultipleUsagesSingleReplace1() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classMultipleUsagesSingleReplace1.kt");
            }

            @TestMetadata("classMultipleUsagesSingleReplace2.kt")
            public void testClassMultipleUsagesSingleReplace2() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classMultipleUsagesSingleReplace2.kt");
            }

            @TestMetadata("classNoParams.kt")
            public void testClassNoParams() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classNoParams.kt");
            }

            @TestMetadata("classParameterInFunctionBody.kt")
            public void testClassParameterInFunctionBody() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classParameterInFunctionBody.kt");
            }

            @TestMetadata("classParameterUsedOutside.kt")
            public void testClassParameterUsedOutside() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classParameterUsedOutside.kt");
            }

            @TestMetadata("classUnusedParameter.kt")
            public void testClassUnusedParameter() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classUnusedParameter.kt");
            }

            @TestMetadata("classUsedParameter.kt")
            public void testClassUsedParameter() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/classUsedParameter.kt");
            }

            @TestMetadata("conflictingName.kt")
            public void testConflictingName() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/conflictingName.kt");
            }

            @TestMetadata("conflictingName1.kt")
            public void testConflictingName1() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/conflictingName1.kt");
            }

            @TestMetadata("defaultParameter.kt")
            public void testDefaultParameter() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/defaultParameter.kt");
            }

            @TestMetadata("defaultValueInParens.kt")
            public void testDefaultValueInParens() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/defaultValueInParens.kt");
            }

            @TestMetadata("defaultValueNoTempVar.kt")
            public void testDefaultValueNoTempVar() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/defaultValueNoTempVar.kt");
            }

            @TestMetadata("forbiddenUsages.kt")
            public void testForbiddenUsages() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/forbiddenUsages.kt");
            }

            @TestMetadata("foreignParameterRef.kt")
            public void testForeignParameterRef() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/foreignParameterRef.kt");
            }

            @TestMetadata("fromComment.kt")
            public void testFromComment() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/fromComment.kt");
            }

            @TestMetadata("fun.kt")
            public void testFun() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/fun.kt");
            }

            @TestMetadata("functionMultipleUnusedParameters.kt")
            public void testFunctionMultipleUnusedParameters() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/functionMultipleUnusedParameters.kt");
            }

            @TestMetadata("functionMultipleUsages.kt")
            public void testFunctionMultipleUsages() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/functionMultipleUsages.kt");
            }

            @TestMetadata("functionMultipleUsagesSingleReplace.kt")
            public void testFunctionMultipleUsagesSingleReplace() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/functionMultipleUsagesSingleReplace.kt");
            }

            @TestMetadata("functionUnusedParameter.kt")
            public void testFunctionUnusedParameter() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/functionUnusedParameter.kt");
            }

            @TestMetadata("functionUsedParameter.kt")
            public void testFunctionUsedParameter() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/functionUsedParameter.kt");
            }

            @TestMetadata("functionWithApproximatedType.kt")
            public void testFunctionWithApproximatedType() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/functionWithApproximatedType.kt");
            }

            @TestMetadata("functionWithDefaultValue.kt")
            public void testFunctionWithDefaultValue() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/functionWithDefaultValue.kt");
            }

            @TestMetadata("functionalType.kt")
            public void testFunctionalType() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/functionalType.kt");
            }

            @TestMetadata("inDefaultValue.kt")
            public void testInDefaultValue() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/inDefaultValue.kt");
            }

            @TestMetadata("invalidationOnSubstitution.kt")
            public void testInvalidationOnSubstitution() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/invalidationOnSubstitution.kt");
            }

            @TestMetadata("lambdaArgument.kt")
            public void testLambdaArgument() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/lambdaArgument.kt");
            }

            @TestMetadata("lambdaOutsideParenthesesOnCallSite.kt")
            public void testLambdaOutsideParenthesesOnCallSite() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/lambdaOutsideParenthesesOnCallSite.kt");
            }

            @TestMetadata("lastParameterHasBlockComment.kt")
            public void testLastParameterHasBlockComment() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/lastParameterHasBlockComment.kt");
            }

            @TestMetadata("lastParameterHasBlockCommentAndTrailingComma.kt")
            public void testLastParameterHasBlockCommentAndTrailingComma() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/lastParameterHasBlockCommentAndTrailingComma.kt");
            }

            @TestMetadata("lastParameterHasEolComment.kt")
            public void testLastParameterHasEolComment() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/lastParameterHasEolComment.kt");
            }

            @TestMetadata("lastParameterHasEolCommentAndTrailingComma.kt")
            public void testLastParameterHasEolCommentAndTrailingComma() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/lastParameterHasEolCommentAndTrailingComma.kt");
            }

            @TestMetadata("overrideFunction.kt")
            public void testOverrideFunction() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/overrideFunction.kt");
            }

            @TestMetadata("partialSubstitution.kt")
            public void testPartialSubstitution() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/partialSubstitution.kt");
            }

            @TestMetadata("propertyAccessor.kt")
            public void testPropertyAccessor() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/propertyAccessor.kt");
            }

            @TestMetadata("quotedName.kt")
            public void testQuotedName() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/quotedName.kt");
            }

            @TestMetadata("receiverUsageEliminated.kt")
            public void testReceiverUsageEliminated() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/receiverUsageEliminated.kt");
            }

            @TestMetadata("resultedType.kt")
            public void testResultedType() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/resultedType.kt");
            }

            @TestMetadata("resultedTypeWithJava.kt")
            public void testResultedTypeWithJava() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/resultedTypeWithJava.kt");
            }

            @TestMetadata("return.kt")
            public void testReturn() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/return.kt");
            }

            @TestMetadata("sameNameFunctionNoConflict.kt")
            public void testSameNameFunctionNoConflict() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/sameNameFunctionNoConflict.kt");
            }

            @TestMetadata("secondaryConstructorWithDefaultValue.kt")
            public void testSecondaryConstructorWithDefaultValue() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/secondaryConstructorWithDefaultValue.kt");
            }

            @TestMetadata("simpleNameWithDefaultValueSubstitution.kt")
            public void testSimpleNameWithDefaultValueSubstitution() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/simpleNameWithDefaultValueSubstitution.kt");
            }

            @TestMetadata("substituteBinaryExpressions.kt")
            public void testSubstituteBinaryExpressions() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/substituteBinaryExpressions.kt");
            }

            @TestMetadata("substituteCallExpressions.kt")
            public void testSubstituteCallExpressions() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/substituteCallExpressions.kt");
            }

            @TestMetadata("substituteDelegationCallsNoTempVar.kt")
            public void testSubstituteDelegationCallsNoTempVar() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/substituteDelegationCallsNoTempVar.kt");
            }

            @TestMetadata("substituteDoubleReceiver.kt")
            public void testSubstituteDoubleReceiver() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/substituteDoubleReceiver.kt");
            }

            @TestMetadata("substituteExplicitThisInMember.kt")
            public void testSubstituteExplicitThisInMember() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/substituteExplicitThisInMember.kt");
            }

            @TestMetadata("substituteImplicitThisInMember.kt")
            public void testSubstituteImplicitThisInMember() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/substituteImplicitThisInMember.kt");
            }

            @TestMetadata("substituteInPrimaryConstructorCall.kt")
            public void testSubstituteInPrimaryConstructorCall() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/substituteInPrimaryConstructorCall.kt");
            }

            @TestMetadata("substituteInSecondaryConstructorCall.kt")
            public void testSubstituteInSecondaryConstructorCall() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/substituteInSecondaryConstructorCall.kt");
            }

            @TestMetadata("substituteIncrement.kt")
            public void testSubstituteIncrement() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/substituteIncrement.kt");
            }

            @TestMetadata("substituteInfixCall.kt")
            public void testSubstituteInfixCall() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/substituteInfixCall.kt");
            }

            @TestMetadata("superCallArgument.kt")
            public void testSuperCallArgument() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/superCallArgument.kt");
            }

            @TestMetadata("superFunctionWithDeleteUnusedParameter.kt")
            public void testSuperFunctionWithDeleteUnusedParameter() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/superFunctionWithDeleteUnusedParameter.kt");
            }

            @TestMetadata("thisSubstitution.kt")
            public void testThisSubstitution() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/thisSubstitution.kt");
            }

            @TestMetadata("throw.kt")
            public void testThrow() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/throw.kt");
            }

            @TestMetadata("unusedDispatchReceiver.kt")
            public void testUnusedDispatchReceiver() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/unusedDispatchReceiver.kt");
            }

            @TestMetadata("unusedExtensionReceiver.kt")
            public void testUnusedExtensionReceiver() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/unusedExtensionReceiver.kt");
            }

            @TestMetadata("valueAtCallSite.kt")
            public void testValueAtCallSite() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/valueAtCallSite.kt");
            }

            @TestMetadata("valueAtCallSiteMultipleUsages.kt")
            public void testValueAtCallSiteMultipleUsages() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/valueAtCallSiteMultipleUsages.kt");
            }

            @TestMetadata("varargs.kt")
            public void testVarargs() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/varargs.kt");
            }

            @TestMetadata("while.kt")
            public void testWhile() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/while.kt");
            }

            @TestMetadata("withJavaSuper.kt")
            public void testWithJavaSuper() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/withJavaSuper.kt");
            }
        }

        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("../../idea/tests/testData/refactoring/introduceParameter/variableConversion")
        public static class VariableConversion extends AbstractK2IntroduceParameterTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doIntroduceParameterTest, this, testDataFilePath);
            }

            @TestMetadata("caretAtIdentifier.kt")
            public void testCaretAtIdentifier() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/variableConversion/caretAtIdentifier.kt");
            }

            @TestMetadata("fullSelection.kt")
            public void testFullSelection() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceParameter/variableConversion/fullSelection.kt");
            }
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceJavaParameter")
    public static class IntroduceJavaParameter extends AbstractK2IntroduceParameterTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doIntroduceJavaParameterTest, this, testDataFilePath);
        }

        @TestMetadata("javaConstructor.java")
        public void testJavaConstructor() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceJavaParameter/javaConstructor.java");
        }

        @TestMetadata("javaMethod.java")
        public void testJavaMethod() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceJavaParameter/javaMethod.java");
        }

        @TestMetadata("javaMethodOverridingKotlinFunctionWithUsages.java")
        public void testJavaMethodOverridingKotlinFunctionWithUsages() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceJavaParameter/javaMethodOverridingKotlinFunctionWithUsages.java");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceLambdaParameter")
    public abstract static class IntroduceLambdaParameter extends AbstractK2IntroduceParameterTest {
        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("../../idea/tests/testData/refactoring/introduceLambdaParameter/multiline")
        public static class Multiline extends AbstractK2IntroduceParameterTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doIntroduceFunctionalParameterTest, this, testDataFilePath);
            }

            @TestMetadata("multilineBinaryExpression.kt")
            public void testMultilineBinaryExpression() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/multiline/multilineBinaryExpression.kt");
            }

            @TestMetadata("multilineBinaryExpressionWithComments.kt")
            public void testMultilineBinaryExpressionWithComments() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/multiline/multilineBinaryExpressionWithComments.kt");
            }

            @TestMetadata("multilineNestedBinaryExpression1.kt")
            public void testMultilineNestedBinaryExpression1() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/multiline/multilineNestedBinaryExpression1.kt");
            }

            @TestMetadata("multilineNestedBinaryExpression2.kt")
            public void testMultilineNestedBinaryExpression2() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/multiline/multilineNestedBinaryExpression2.kt");
            }
        }

        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates")
        public static class StringTemplates extends AbstractK2IntroduceParameterTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doIntroduceFunctionalParameterTest, this, testDataFilePath);
            }

            @TestMetadata("brokenEntryWithBlockExpr.kt")
            public void testBrokenEntryWithBlockExpr() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt");
            }

            @TestMetadata("brokenEntryWithExpr.kt")
            public void testBrokenEntryWithExpr() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt");
            }

            @TestMetadata("brokenEscapeEntry.kt")
            public void testBrokenEscapeEntry() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt");
            }

            @TestMetadata("extractFalse.kt")
            public void testExtractFalse() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt");
            }

            @TestMetadata("extractIntegerLiteral.kt")
            public void testExtractIntegerLiteral() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt");
            }

            @TestMetadata("extractTrue.kt")
            public void testExtractTrue() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt");
            }

            @TestMetadata("fullContent.kt")
            public void testFullContent() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt");
            }

            @TestMetadata("fullEntryWithBlockExpr.kt")
            public void testFullEntryWithBlockExpr() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt");
            }

            @TestMetadata("fullEntryWithSimpleName.kt")
            public void testFullEntryWithSimpleName() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt");
            }

            @TestMetadata("multipleEntriesWithPrefix.kt")
            public void testMultipleEntriesWithPrefix() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt");
            }

            @TestMetadata("multipleEntriesWithSubstring.kt")
            public void testMultipleEntriesWithSubstring() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt");
            }

            @TestMetadata("multipleEntriesWithSuffix.kt")
            public void testMultipleEntriesWithSuffix() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt");
            }

            @TestMetadata("rawTemplateWithSubstring.kt")
            public void testRawTemplateWithSubstring() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt");
            }

            @TestMetadata("singleEntryPrefix.kt")
            public void testSingleEntryPrefix() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt");
            }

            @TestMetadata("singleEntrySubstring.kt")
            public void testSingleEntrySubstring() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt");
            }

            @TestMetadata("singleEntrySuffix.kt")
            public void testSingleEntrySuffix() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt");
            }
        }

        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("../../idea/tests/testData/refactoring/introduceLambdaParameter")
        public static class Uncategorized extends AbstractK2IntroduceParameterTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doIntroduceFunctionalParameterTest, this, testDataFilePath);
            }

            @TestMetadata("lambdaArgument.kt")
            public void testLambdaArgument() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/lambdaArgument.kt");
            }

            @TestMetadata("lambdaParamInPrimaryConstructor.kt")
            public void testLambdaParamInPrimaryConstructor() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/lambdaParamInPrimaryConstructor.kt");
            }

            @TestMetadata("lambdaParamMultiline.kt")
            public void testLambdaParamMultiline() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/lambdaParamMultiline.kt");
            }

            @TestMetadata("lambdaParamNoDefaultValue.kt")
            public void testLambdaParamNoDefaultValue() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/lambdaParamNoDefaultValue.kt");
            }

            @TestMetadata("lambdaParamNoDefaultValueSecondLambda.kt")
            public void testLambdaParamNoDefaultValueSecondLambda() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/lambdaParamNoDefaultValueSecondLambda.kt");
            }

            @TestMetadata("lambdaParamNoParams.kt")
            public void testLambdaParamNoParams() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/lambdaParamNoParams.kt");
            }

            @TestMetadata("lambdaParamOfNothing.kt")
            public void testLambdaParamOfNothing() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/lambdaParamOfNothing.kt");
            }

            @TestMetadata("lambdaParamOfUnit.kt")
            public void testLambdaParamOfUnit() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/lambdaParamOfUnit.kt");
            }

            @TestMetadata("lambdaParamWithClsSuper.kt")
            public void testLambdaParamWithClsSuper() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/lambdaParamWithClsSuper.kt");
            }

            @TestMetadata("lambdaParamWithDefaultValue.kt")
            public void testLambdaParamWithDefaultValue() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/lambdaParamWithDefaultValue.kt");
            }

            @TestMetadata("suspendCalls.kt")
            public void testSuspendCalls() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceLambdaParameter/suspendCalls.kt");
            }
        }
    }
}
